Device-based routing for web content retrieval

ABSTRACT

A method of and system for providing a primary content file to a client device wherein the primary content file will vary based on the display (or other) parameters of the client device, which is referred to as device-based routing. The URL is assembled based on an additional parameter that is a client device identification code, which designates for example if the client device is a wireless device supporting WML content or HTML content, or perhaps a personal computer supporting HTML content.

CROSS REFERENCE TO RELATED U.S. APPLICATIONS

[0001] This application claims priority from: (1) Hunter, “METHOD ANDSYSTEM FOR SIMPLIFIED ACCESS TO INTERNET CONTENT ON A WIRELESS DEVICE”,U.S. Provisional Application No. 60/193,737, filed Mar. 31, 2000, thecontents of which are incorporated herein by reference; (2) Hunter, etal., “SYSTEM FOR USING WIRELESS WEB DEVICES TO STORE WEB LINK CODES ON ALIST SERVER FOR SUBSEQUENT RETRIEVAL”, U.S. Provisional Application No.60/193,755, filed Mar. 31, 2000, the contents of which are incorporatedherein by reference; and (3) Hunter, “DEVICE-BASED ROUTING FOR WEBCONTENT RETRIEVAL”, U.S. Provisional Application No. 60/193,836, filedMar. 31, 2000, the contents of which are incorporated herein byreference.

FIELD OF THE INVENTION

[0002] This invention relates to a method and system for simplifiedaccess of Internet content such as web pages through a wireless devicesuch as a cellular telephone by entry of a linkage code that isassociated with such Internet content.

BACKGROUND OF THE INVENTION

[0003] Recently, a new generation of cell phones has been introducedthat include provisions for Internet connectivity and “micro-browsers.”Using this class of device, the cell phone user can directly accesscontent on the World Wide Web, receive email, be notified of changes in“subscribed information” such as sports scores or stock prices, etc.

[0004] The constraints imposed on a “micro-browser” in a cell phoneenvironment pose a unique problem for both the information provider aswell as the user retrieving the information. The development of theWireless Application Protocol (“WAP”) specification was specificallydesigned to address a number of fundamental differences between classicInternet and Web-based services and services on a wireless data network.These issues included the differences in needs and expectations as wellas differences imposed by the device. That is, wireless devices willgenerally have less powerful CPU's, less memory and smaller displaysthan conventional computers. Wireless devices may have very differentinput devices. Wireless devices other than cell phones may be used thathave very different capabilities. All of these issues have beenaddressed in the WAP specification and architecture. In particular, theWAP system is in no way restricted to cell phones—integration into otherdevices with wireless connectivity (e.g. Palm Pilots) was clearlyanticipated. Thus, although this application will generally referspecifically to cell phones, anything described in that context wouldalso apply to any other comparable wireless device, such as a PersonalDigital Assistant (“PDA”).

[0005]FIG. 1 outlines the basic WAP architecture. Wireless devices arenot directly “on the Internet” in the same sense as traditionalcomputers. The fact that devices roam around, as well as the sheernumber of devices expected to be deployed, discourage a solution inwhich each wireless device has its own IP address and communicatesdirectly. In addition, the standard Internet protocols require a fairamount of overhead, which poses a problem on a channel with limitedbandwidth. As a result, a new set of wireless protocols was developed.These include the Wireless Session Protocol (“WSP”) and the WirelessDatagram Protocol (“WDP”) which parallel the function of the TCP/IP andUDP Internet protocols. Wireless Telephone Application (“WTA”) Servers“speak” these protocols natively, and can be directly accessed bywireless devices.

[0006] While for certain applications the requirement of a new class ofserver is acceptable, restricting wireless devices to this class ofserver would not adequately leverage the huge embedded base of Internetequipment. As such, the architecture includes WAP proxies, which serveas a bridge between the wireless network and the standard Internet. Whena digital device attempts to access a resource via a standard URL, thisrequest is passed to the WAP Proxy using wireless protocols. The WAPProxy reformats this request into a standard HTTP 1.1 query, retrievesthe content from the standard Web Server, and then passes the resultback to the wireless device using the wireless protocol. Using thissystem, wireless devices can access any server on the Internet.

[0007] A web site that natively “understood” wireless devices wouldgenerally return content in the new Wireless Markup Language (WML), orpossibly in the older Handheld Device Markup Language (HDML).Recognizing that achieving deployment of a second, parallel codingstandard for documents might slow the penetration of the WAP technology,the WAP Architecture also includes provisions for filters that couldtranslate standard HTML into WML automatically. These filters can beintegrated into the WAP Proxy itself, or can exist between the webserver and the WAP Proxy. This would, at least in theory, allow awireless user to access any existing content on the web, even if the website was not specifically designed for access by devices of this class.

[0008] A system and method for utilizing a link code or linkage code tocause a client computer to automatically access a web resource isdisclosed in copending U.S. patent application Ser. No. 09/543,178,filed on Apr. 5, 2000 and incorporated by reference herein. In thesystem described therein, the link code is a bar code that is scanned bya bar code scanner and input into a client software program that usesthe decoded link code to request a URL template from an external servercomputer. The server takes the link code, returns the URL template, andthe link client program assembles the URL using other data at theclient. The URL is passed to a web browser, which then retrieves the webresource. This process may also be performed by manually entering a textstring associated with the code, such as by entering a UPC number foundat the bottom of a typical UPC barcode. This is a powerful way ofutilizing a general purpose computer to automatically access a webresource without having to type in a lengthy URL.

[0009] It is noted that the system described above relies on the use ofa client program running on the client computing device for obtaining,assembling, and then providing the URL to the web browser program. Ingeneral purpose personal computers, loading and running of such a clientprogram is of course a typical and easily-done process. It would bedesirable, however, to use this content retrieval technology with aclient device such as a web-enabled cell phone, in which the use ofadd-on programs such as the linkage client is not easily accomplished.That is, with the proliferation of web-enabled cell phones and the like,it would be desirable to enable such devices to use such contentretrieval methodologies without requiring adaptation of the software orfirmware already present on such devices. One aspect of the inventiondescribed herein is thus a server-based URL assembly/retrievalmethodology that requires no modification to existing web-enableddevices such as web-enabled cell phones or internet kiosks.

[0010] Another problem encountered by utilization of web-enabled cellphones for Internet access is that such devices have unique displaycapabilities. That is, one cannot simply take any standard HTML web pageand display it on a microbrowser or other such device. Thus, it isdesired to be able to use the same linkage code in order to providedifferent types of content to different types of display devices. Thatis, it is desired to be able to format the content retrieved differentlyas a function of the device on which it will be displayed. As a result,a user entering a link code with a web-enabled cell phone will beautomatically provided with WML or HDML content appropriate for displayon that cell phone, while another user entering the same linkage codeinto a desktop computer will be provided with standard HTML contentsuitable for display on a large screen.

[0011] Although web-enabled cell phones can access web pages using theappropriate linkage code technology, one further problem is that much ofthe original content won't be displayable in the cell phone, since itwill be in the form of big HTML pages. Alternatively, a user may bepreoccupied and may simple wish to store a linkage code for subsequentretrieval. Therefore, it would be desirable to use the cell phone as alinkage code access device, without retrieving the associated content,but just for acquiring the linkage codes and uploading them to a codelist server for later access by the user at a PC running the appropriatesoftware.

SUMMARY OF THE INVENTION

[0012] The present invention is a method of and system for providing aprimary content file to a client device wherein the primary content filewill vary based on the display (or other) parameters of the clientdevice, which is referred to as device-based routing. A linkage codecomprising a routing identification code and an item identification codeis input into the client device, and the routing identification code anda client device identification code are then transmitted to a routingserver. A URL template is obtained from the routing server, the URLtemplate being associated with the routing identification code and theclient device identification code, wherein the URL template includes thename of a resolution server and at least one parameter field to becompleted by the client device. The URL template is completed by fillingin the item identification code, such that the completed URL points tocontent suitable for display on the client device. The completed URLtemplate is sent to the resolution server named therein to determine thelocation of the primary content file based on the item identificationcode and the client device identification code. A primary content URLthat specifies the location of the primary content file is then sent tothe client device, and the client device is redirected to a primarycontent server specified by the primary content URL.

[0013] For example, the client device may be a wireless devicesupporting WML content or HTML content, or it may be a personal computersupporting HTML content.

BRIEF DESCRIPTION OF THE DRAWING

[0014]FIG. 1 depicts a schematic overview of the wireless applicationprotocol architecture.

[0015]FIG. 2 depicts a block diagram of an exemplary system of thepresent invention for a device directly connected to the Internet.

[0016]FIG. 2A depicts a block diagram of an alternative system of thepresent invention for a device connected to the Internet viathe-wireless application protocol.

[0017]FIG. 3A depicts a flow chart of how a linkage code is mapped to acontent server.

[0018]FIG. 3B is a continuation of the flowchart of FIG. 3A.

[0019]FIG. 3C depicts a flow chart of how a new user is registered bythe system of the invention.

[0020]FIG. 4 depicts an exemplary system of the present invention forthe storage of linkage codes on list servers.

DETAILED DESCRIPTION OF THE INVENTION

[0021] The system of the present invention is a modification of theinvention described in “SYSTEM AND METHOD OF USING MACHINE-READABLE ORHUMAN-READABLE LINKAGE CODES FOR ACCESSING NETWORKED DATA RESOURCES”,copending U.S. patent application Ser. No. 09/543,178, filed Apr. 5,2000 by Hunter et al., previously incorporated herein by reference (“thecopending application”) . In the system described therein, a linkagecode is a bar code that is scanned by a bar code scanner and input intoa client software program that uses the decoded linkage code to requesta URL template from an external server computer. The inputting of thecode may also be performed by manually entering a text string associatedwith the code, such as by entering a UPC number found at the bottom of atypical UPC barcode. The linkage codes of the invention are not limitedto UPC codes, however, and the invention supports European EAN codes,ISBN codes for books, as well as custom linkage code formats.

[0022] In a preferred embodiment of that invention, the linkage codeincludes two subcodes: a routing identification code (“RID”) and an itemidentification code (“IID”). In the embodiment wherein the linkage codeis a UPC code, the RID can be the manufacturer's portion of the UPC,whereas the IID can be the item code portion of the UPC. The clientpasses the RID to a routing server to obtain a URL link to a resolutionserver for that code, and the client completes the URL link by filing inthe IID. The client then passes the completed URL link to the resolutionserver to obtain a target URL of content associated with the IID on thecontent server associated with the RID.

[0023] The two step resolution process allows for multiple resolutionservers, thus providing scalability, with each server having its owndatabase of target URLs. Since the address of a resolution server for aparticular RID changes infrequently with respect to number of times auser seeks to access the content server associated with the RID, the RIDobtained from the routing server can be cached on the client for rapidlookup. The RID thus obtained can be associated with an expiration dateso that the RID is periodically refreshed.

[0024] The system of the invention also includes a user databasemaintained by a registration server. The first time a user utilizes theinvention to, for example, scan a UPC barcode to access a web siteassociated with the product, the user is directed to a registrationprocedure wherein the user is prompted to enter demographic data abouthim or herself. This data can include the user's name, address, age,gender, preferred language, and preferred interests. The registrationserver returns a user identification code (“UID”) to the client, whichcaches it. The UID is passed to the routing server, which can thenaccess the user data base and fill user data into the template URL. Thetemplate URL is returned to the client, which fills in the UID and IIDto complete the lookup-URL. The client then passes the lookup-URL to theresolution server, which uses the user data along with a rules databaseto return a target-URL that addresses content specifically for thatuser. This feature of the invention is referred to as profiled routing.

[0025] Thus, the use of linkage codes is a powerful way of utilizing ageneral purpose computer to automatically access a web resource withouthaving to type in a lengthy URL. Linkage codes are particularly usefulin the context of wireless, hand-held web enabled devices such as cellphones, PDAs, or pocket personal computers (“pocket PCs”). Cell phones,for example, do not support the full alphabetic keyboard of a personalcomputer, and thus entering a full URL for a web site is quite tedious.Most phones use a metaphor in which numeric buttons are pressed multipletimes to scroll through several letters and/or punctuation marks, witheither a button press or a pause indicating acceptance of the currentletter. For example, www.amazon.com is entered on a cell phone numerickeypad as 99900262999966666002226666. On the other hand, the associatedlinkage code is merely 92801726. The all digit linkage code is shorterand easier to enter than the full URL, and much more intuitive to use.The advantage of linkage codes is even more apparent for those handhelddevices that include barcode scanners, such as PDA's.

[0026] Although some wireless, hand-held web enabled devices, such asPalm Pilots or other PDAS, could easily be provided with the clientplug-in required to map the linkage code into a URL, cell phones are notso easily adapted. There is also a large number of cell phones alreadyin use. The inventors have thus found that it is preferable to locatethis functionality on another server, referred to herein as aURL-assembly server. This enables any wireless device user to utilizelinkage codes to access web content by merely accessing the appropriatepage of the URL-assembly server that provides the mapping, without thenecessity of installing the plug-in on the wireless client device.

[0027] Referring now to FIG. 2, an exemplary system configuration for aweb-enabled device, such as a PDA that supports an HTML display, isdepicted. Device 200 can execute a web browser whose interface isdisplayed in display area 210. When executing, the web browser candisplay the linkage code entry window, referred to as a go-window. Thego-window includes a field 211 for entering a linkage code, and a button212. A user can key in or write in a linkage code in field 211 andactivate button 212 to find the associated web page. Alternatively, ifdevice 200 supports a scanner 213, a barcode can be scanned in.

[0028] If device 200 is an Internet enabled device, such as a Palm VIIPDA, it can transmit the linkage code just entered over the Internet toa URL-assembly server 202. The device 200 can also optionally transmit auser identification (“UID”) to the URL-assembly server 202. If thedevice 200 is a WAP enabled cell phone that displays WML content, thetransmission to the URL-assembly server 202 is typically mediated by aproxy server 201, shown in FIG. 2A, that converts the WAP transmissioninto an HTTP compliant transmission. The URL assembly server 202 in turncommunicates over the Internet with a registration server 203, whichmaintains a database of user information 214, and a routing server 204,which maintains a resolution server database 215. The URL-assemblyserver utilizes the RID portion of the linkage code, along with the UID,if available, to assemble a lookup URL in a manner described below. Thelookup URL addresses a resolution server 205 that contains the targetURL of the Internet content associated with the linkage code. The targetURL received from the resolution server 205 redirects device 200 to thecontent server 206 containing the content associated with the linkagecode.

[0029] The process by which linkage codes are mapped to content that isthen downloaded is depicted in FIGS. 3A and 3B. A user begins theprocess by entering a linkage code in field 211 at step 300 in FIG. 3A.The linkage code is transmitted to the URL-assembly server 202 at step301. If a user is using the linkage code system for the first time, shewould have to key in to the device 200 the name of the go-window in thetraditional manner, by keying in the full name of the window, forexample, www.paperclick.com. Once downloaded, however, the go-window canbe bookmarked for easy subsequent retrieval.

[0030] The process by which a first-time user registers with the systemis depicted in FIG. 3C. If the user is using a device that can transmita unique device identifier, such as a PDA or cell phone using OpenWave'sUP.Link proxy, she will be prompted at step 352 to register with thelinkage code service. The user will be connected by the URL-assemblyserver 202 to the registration server 203. The registration server 203can prompt the user at step 353 to enter various items of personalinformation, such as her name, address, age, gender, preferred language,and preferred interests. This information is stored at step 354 in userdatabase 214. The user is assigned a UID so that she can be identifiedby the system. As part of this process, an entry can be made in the userdatabase linking the UID to the unique device identifier. A given UIDcan even be linked multiple device identifiers.

[0031] Even if a client device does not support the transmission of aunique device identifier, it can still be identified to the system ifthe device's mini-browser supports standard authentication means, suchas the storage of cookies. For this type of client, the registrationserver sends a cookie to the client's browser, which stores the cookieon the client device. Subsequent transmissions for the client to thenURL-assembly server would then include the cookie.

[0032] The user data enables the linkage code system of the presentinvention to support the profiled routing feature of the client-basedlinkage system of the copending application. If, however, the device 200does not support the transmission of a UID, the user of device 200 willremain anonymous to the linkage code system, and profiled routing is notavailable.

[0033] Continuing with FIG. 3A, once a linkage code has been received bythe URL-assembly server 202, it is broken up at step 302 into itsconstituent parts, namely, the RID and the IID. The RID is passed to therouting server 204 at step 303 to obtain a URL template containing theaddress of the resolution server 205 associated with the IID. Theresolution server 205 can actually be a front for any manufacturer's orvendor's server that can map a product code to a URL. This introducesthe possibility that a given manufacturer or vendor could have a serverfor fielding WML queries that is different from servers fielding HTMLqueries. Since queries coming from the proxy server 201 typicallyindicate in the HTML header that the device 200 supports a WML browser,the URL-assembly server 202 can optionally include a URL templateselection parameter in the data stream sent to the routing server sothat a WML oriented template is returned by the routing server 204 tothe URL-assembly server 202. The template selection parameter can alsobe used to ensure that the WML content ultimately returned to the useris not encapsulated in a frameset, as framesets are not supported byWML.

[0034] If the device 200 has been previously registered with the system,its UID will be included in the transmission to the URL-assembly server202. In this situation, the URL-assembly server at step 304 passes theUID to the registration server which in turn uses the UID to retrieveuser data for that user from the user database 214, and returns thatdata to the URL-assembly server 202.

[0035] The URL-assembly server 202 completes the URL-template at step305. The URL template returned by the routing server 204 has at leastone field for the URL-assembly server 202 to fill in. A typical URLtemplate will look something like:http://resolve.paperclick.com:8080/all/cmd?CMD=GET&TYPE=^ ATYPE^ &RID=^RID^ &IID=^ IID^ &CODE=^ CODE^ , wherein the fields delimited by carets(“^ ”) are to be filled in by the URL-assembly server. In the exampleshown, the fields to be filled in are the code type, the RID, the IID,and the full linkage code. If the linkage code is a UPC code equal to051111128817, the RID would be 051111, the IID would be 12881, and thecompleted URL would behttp://resolve.paperclick.com:8080/all/cmd?CMD=GET&TYPE=UPC&RID=051111&IID=12881&CODE=051111128817. There can also be fields for theUID, user data retrieved from the user database maintained by theregistration server, and the template selection parameter. This list offill-in codes is illustrative, and more fill-in fields can be supportedand be within the scope of the invention.

[0036] The URL template also includes a field for a parameter indicativeof the display device, i.e. what markup language the display devicesupports. This parameter could be the template selection parameter, orit could be a separate parameter. This enables the resolution server tolist the addresses of multiple versions of a given page, a featurereferred to a device-based routing. Thus, publishers can host webcontent on multiple formats accessible with different URLs, but use thesame linkage code to access the content. Users are dynamically routed tothe proper content based on the characteristics of the retrievingdevice.

[0037] The completed URL, referred to as a lookup-URL, is a reference toboth a particular resolution server and an entry in that resolutionserver. The resolution server can be a front for any server, such as avendor's server, that can map the IID to appropriate content on theInternet. The lookup-URL is returned at step 306 to the device 200, orthe proxy server 201 if device 200 is a WAP device, and redirects thedevice 200, or the proxy server 201, to the resolution server.Continuing onto FIG. 3B, the resolution server 205, at step 307, findsan appropriate target URL based on the information contained in thelookup-URL: the RID, the IID, and the user data if the user isregistered. This ensures that the content customized to the user issubsequently returned. The resolution server includes lookup-tables andrules that ensure that a target URL to a content server 206 containing aweb page in the correct display language is returned to the sender. Theuse of rules and tables to map the lookup-URL to a target-URL forcontent appropriate for a particular user is described in the copendingapplication, and need not be repeated herein. The skilled artisan caneasily extend the rules disclosed therein to support the device basedrouting feature of the present invention.

[0038] The target-URL returned by the resolution server normallyredirects the sending device, either device 200 or proxy server 201, tothe content server 206. In the case of a WAP compliant cell phone,however, having the proxy server perform the redirection means that thecell phone's mini-browser will not know of the redirection. Thus, whenthe cell phone device 200 receives the content, it would think thecontent had come from the server specified by the lookup URL, i.e. theresolution server 205, not the content server 206 specified by thetarget URL. If the returned content includes a relative URL or imagereference, the device 200 will issue a request to the resolution server205, not the content server 206. Therefore, the redirection to thecontent server 206 is not performed by the proxy server 201. Instead, atstep 311, a data stream is returned to the WAP device 200 that includesthe target-URL hyperlink along with an auto-click code to force thedevice 200 at step 312 to automatically make the request to the contentserver 206. If the device is directly connected to the Internet, thatdevice is redirected at step 309 to the content server 206. Finally, thecontent is downloaded to the device 200 at step 310.

[0039] In addition to the functionality described above, the system ofthe present invention supports the demographic reporting,obfuscation/de-obfuscation of the UID, and profiled routing featuresdisclosed in the copending application. In addition, the device basedrouting feature of the present invention can also be included with theinvention of the copending application. The linkage client softwaredisclosed in the copending application can easily be modified to includea device indicator field in the data stream transmitted to the routingserver. This enables the routing server to select a URL templateappropriate for the display device.

[0040] One application of profiled routing is the ability to streamlineregistration for cell-based services. Where there are user-specificparameters such as presentation language, a user registering for aservice via a linkage code could have profile information passed fromthe user database 214 into the service registration process. This wouldpotentially allow the registration form to be pre-populated with theuser's information, thus allowing the user to simply confirm theinformation, rather than having to laboriously enter it.

[0041] In many cases, a cell phone user, because of the sparse nature ofthe WML or HDML display as compared with an HTML form, or because theuser is preoccupied with another task, may not want to actually downloadcontent directly to her cell phone upon entering a linkage code, but maywish to save the linkage code for subsequent retrieval by a personalcomputer that supports HTML. In another aspect of the invention, aregistered user can store linkage codes on a list server for subsequentretrieval. Referring now to FIG. 4, by using a simple WML or HDML form401 on the cell phone 400, a linkage code is entered into field 408 inthe form 401 via the keypad 403, and then submitted via a store button409 over the wireless network 404 and Internet 405 to a list server 406,where it would be stored. The wireless transactions pass on the user'sUID, so the system can use this to indicate which list the code shouldbe added to. Later, when the user sits down at his or her PC 407, he orshe can log into the server 406, and download the accumulated storedcodes to the PC 407, just as if they had used the linkage clientsoftware. A user does not even need a PC—he or she could retrieve thecodes via a WebTV, video game console (the newest generation of videogame consoles apparently have browsers and modems built in) or any otherdevice that has an embedded browser. The user's login/password can beused as the authentication means, and can be tied to their UID via theregistration process.

[0042] By using the stored linkage code list service described herein, auser can download stored linkage codes lists to a client device anywherein the world. The user can even upload linkage codes from a desktopclient to the list server, then download them onto any other clientdevice, such as a laptop computer via the web.

[0043] The system of the present invention is currently implemented on aWindows NT platform, although the system can be adapted to operate onother operating systems, such as Unix or Linux, or the Macintosh. Theregistration, routing and resolution servers are currently implementedas stand-alone programs, written in C++, that run as services underWindows NT, and the URL-assembly server is currently implemented as acomponent of the routing server. Other implementation are, of coursepossible, and the servers could be implemented as ISAPI DLLs running ona web server that communicate with a Microsoft SQL database server viaODBC, as CGI programs or as Java servlets. The routing server can alsobe implemented as a stand-alone program. Although these components havebeen described as if they are physically distinct machines, the skilledartisan will understand that they can be distinct processes running onthe same machine.

[0044] The system of the invention is not limited to the embodimentdisclosed herein. It will be immediately apparent to those skilled inthe art that variations and modifications to the disclosed embodimentare possible without departing from the spirit and scope of the presentinvention. The invention is defined by the appended claims.

What is claimed is:
 1. A method of providing a primary content file to aclient device comprising the steps of: (a) inputting into the clientdevice a linkage code comprising a routing identification code and anitem identification code; (b) transmitting to a routing server therouting identification code and a client device identification code, andobtaining from the routing server a URL template associated with therouting identification code and the client device identification code,the URL template comprising the name of a resolution server and at leastone parameter field to be completed by the client device; (c) completingthe URL template by filling in the item identification code, thecompleted URL pointing to content suitable for display on the clientdevice; (d) sending the completed URL template to the resolution servernamed therein to determine the location of the primary content filebased on the item identification code and the client deviceidentification code; and (e) sending a primary content URL thatspecifies the location of the primary content file to the client deviceand redirecting the client device to a primary content server specifiedby the primary content URL.
 2. The method of claim 1 , furthercomprising the step of providing the primary content file to the clientdevice from the primary content server.
 3. The method of claim 1 ,wherein the client device is a wireless device supporting WML content.4. The method of claim 1 , wherein the client device is a wirelessdevice supporting HTML content.
 5. The method of claim 1 , wherein theclient device is a wireless device supporting HDML content.
 6. Themethod of claim 1 , wherein the client device is a personal computersupporting HTML content.
 7. A system for providing a primary contentfile to a client device over a computer network, comprising: (a) aclient device interconnected to the computer network; (b) means forinputting into the client device a linkage code comprising a routingidentification code and an item identification code; (c) means fortransmitting to a routing server the routing identification code and aclient device identification code, and means for obtaining from therouting server a URL template associated with the routing identificationcode and the client device identification code, the URL templatecomprising the name of a resolution server and at least one parameterfield to be completed by the client device; (d) means for completing theURL template by filling in the item identification code, the completedURL pointing to content suitable for display on said client device; (e)means for sending the completed URL template to the resolution servernamed therein to determine the location of the primary content filebased on the item identification code and the client deviceidentification code; and (f) means for sending a primary content URLthat specifies the location of the primary content file to the clientdevice and redirecting the client device to a primary content serverspecified by the primary content URL.
 8. The system of claim 7 , furthercomprising means for providing the primary content file to the clientdevice from the primary content server.
 9. The system of claim 7 ,wherein the client device is a wireless device supporting WML content.10. The system of claim 7 , wherein the client device is a wirelessdevice supporting HDML content.
 11. The system of claim 7 , wherein theclient device is a wireless device supporting HTML content.
 12. Thesystem of claim 7 , wherein the client device is a personal computersupporting HTML content.